iT邦幫忙

2024 iThome 鐵人賽

DAY 20
0

簡介

在前面的章節中,我們主要探討了如何開發一個應用程式。然而,應用程式的開發通常是由團隊共同長期進行的,並且需要持續地添加新功能或修正錯誤。在每次進行這些改動之前,開發者需要先清楚了解現有的程式碼。由於應用程式的開發不是由單一個人完成,因此開發者不可能全面掌握應用程式中的每一個邏輯結構。

在這種情況下,可讀性變得至關重要。如果程式碼的每個區塊(例如函數定義、條件檢查、回傳值)都具有清晰的結構,開發者就能夠輕鬆辨識每個部分的功能,從而使整體邏輯更加一目了然。良好的可讀性不僅能幫助開發者更快地定位問題,還可以減少在理解雜亂無章的程式碼時所浪費的時間,最終提高維護工作的效率。

為了確保團隊中的每位成員都能撰寫出具有高可讀性的程式碼,通常會引入專門的工具來輔助,這類工具稱為 Code Formatter。這些格式化工具通常與整合式開發環境(IDE)相容,例如當前主流的 IDE——Visual Studio Code,就可以設定 Code Formatter。每當開發者編輯並儲存程式碼時,格式化工具會自動調整程式碼的結構,確保其符合既定標準。

今天,我想特別推薦一個適合 Python 開發者使用的格式化工具:Black。Black 非常適合 Python 初學者,因為它的設置簡單明瞭,開發者無需為繁瑣的格式規則感到困擾。Black 遵循 Python 社群廣泛認可的格式標準,並強制程式碼保持統一的風格。開發者無法自訂格式規則,這避免了因個人偏好而導致的風格不一致。

範例

本次範例使用的是 Black 24.8.0 版本

poetry add black==24.8.0

首先,我準備了一個調整前的範例程式碼檔案 main.py

def calculate_total(item:dict):
  total=itme["price"] *item["quantity"]
  return total
items = [{"price": 1125.99,"quantity": 31182},{"price": 999.99, "quantity": 66335},{"price":13311, "quantity":12333}]
for item in items:
    print(calculate_total(item))

接著,可以執行 poetry run black main.py 來查看調整後的結果。前後的差異包括:

  • 變數與型別提示之間增加了空格
  • 乘法運算符左右兩側出現了空格
  • calculate_total 函式區塊與其他區塊之間添加了換行間隔,以便更清晰地呈現程式碼結構
  • 陣列中的元素逐一分行羅列,避免所有元素擠在一起,提升可讀性。
  • 陣列的最後一個元素會自動添加逗號,未來進行元素的擴充時更為方便。
def calculate_total(item: dict):
    total = itme["price"] * item["quantity"]
    return total


items = [
    {"price": 1125.99, "quantity": 31182},
    {"price": 999.99, "quantity": 66335},
    {"price": 13311, "quantity": 12333},
]
for item in items:
    print(calculate_total(item))

上一篇
[Day 19] Typer
下一篇
[Day 21] Isort
系列文
Python 不止於數據,開發應用程式它也在行!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言